package com.example.tse.rbhttpservice.service.member;

import com.example.tse.rbhttpservice.service.member.model.MemberOrderConfirmReceiveRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberOrderConfirmReceiveResponse;
import com.example.tse.rbhttpservice.service.member.model.MemberOrderGetRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberOrderGetResponse;
import com.example.tse.rbhttpservice.service.member.model.MemberOrderGetUnpaidListRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberOrderGetUnpaidListResponse;
import com.example.tse.rbhttpservice.service.member.model.MemberOrderGetStatRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberOrderGetStatResponse;
import  com.example.tse.rbhttpservice.service.RemoteServiceListenerT;

/**
*
* @author wliu
*  edit   tse
*/
public interface MemberOrderService {
/**
* 已收货的订单，用户可以主动点击确认收货
* @param request
* @param listener
* @return MemberOrderConfirmReceiveResponse
*/
void confirmReceive(MemberOrderConfirmReceiveRequest request, RemoteServiceListenerT
        <MemberOrderConfirmReceiveResponse> listener);

/**
* 获取我的订单详情，展示订单详细信息用，或再次支付用
* @param request
* @param listener
* @return MemberOrderGetResponse
*/
void get(MemberOrderGetRequest request, RemoteServiceListenerT
        <MemberOrderGetResponse> listener);

/**
* 获取我的待支付订单列表
* @param request
* @param listener
* @return MemberOrderGetUnpaidListResponse
*/
void getUnpaidList(MemberOrderGetUnpaidListRequest request, RemoteServiceListenerT
        <MemberOrderGetUnpaidListResponse> listener);

/**
* 获取用户的待发货、待收货的订单数量，显示在个人中心的待发货、待收货图标的角标上，
* @param request
* @param listener
* @return MemberOrderGetStatResponse
*/
void getStat(MemberOrderGetStatRequest request, RemoteServiceListenerT
        <MemberOrderGetStatResponse> listener);

    }
